1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license (the "Software") to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */ 
28 
29 module derelict.glib.gkeyfile;
30 
31 import derelict.glib.gtypes;
32 import derelict.glib.glibconfig;
33 import derelict.glib.gerror;
34 import derelict.glib.gquark;
35 import core.stdc.config;
36 
37 extern (C):
38 
39 alias _Anonymous_0 GKeyFileError;
40 alias _GKeyFile GKeyFile;
41 alias _Anonymous_1 GKeyFileFlags;
42 
43 enum _Anonymous_0
44 {
45 	G_KEY_FILE_ERROR_UNKNOWN_ENCODING = 0,
46 	G_KEY_FILE_ERROR_PARSE = 1,
47 	G_KEY_FILE_ERROR_NOT_FOUND = 2,
48 	G_KEY_FILE_ERROR_KEY_NOT_FOUND = 3,
49 	G_KEY_FILE_ERROR_GROUP_NOT_FOUND = 4,
50 	G_KEY_FILE_ERROR_INVALID_VALUE = 5
51 }
52 
53 enum _Anonymous_1
54 {
55 	G_KEY_FILE_NONE = 0,
56 	G_KEY_FILE_KEEP_COMMENTS = 1,
57 	G_KEY_FILE_KEEP_TRANSLATIONS = 2
58 }
59 
60 struct _GKeyFile;
61 
62 version(Derelict_Link_Static)
63 {
64     extern( C ) nothrow 
65     {
66         GQuark g_key_file_error_quark();
67         GKeyFile* g_key_file_new();
68         GKeyFile* g_key_file_ref(GKeyFile* key_file);
69         void g_key_file_unref(GKeyFile* key_file);
70         void g_key_file_free(GKeyFile* key_file);
71         void g_key_file_set_list_separator(GKeyFile* key_file, gchar separator);
72         gboolean g_key_file_load_from_file(GKeyFile* key_file, const(gchar)* file, GKeyFileFlags flags, GError** error);
73         gboolean g_key_file_load_from_data(GKeyFile* key_file, const(gchar)* data, gsize length, GKeyFileFlags flags, GError** error);
74         gboolean g_key_file_load_from_dirs(GKeyFile* key_file, const(gchar)* file, const(gchar*)* search_dirs, gchar** full_path, GKeyFileFlags flags, GError** error);
75         gboolean g_key_file_load_from_data_dirs(GKeyFile* key_file, const(gchar)* file, gchar** full_path, GKeyFileFlags flags, GError** error);
76         gchar* g_key_file_to_data(GKeyFile* key_file, gsize* length, GError** error);
77         gchar* g_key_file_get_start_group(GKeyFile* key_file);
78         gchar** g_key_file_get_groups(GKeyFile* key_file, gsize* length);
79         gchar** g_key_file_get_keys(GKeyFile* key_file, const(gchar)* group_name, gsize* length, GError** error);
80         gboolean g_key_file_has_group(GKeyFile* key_file, const(gchar)* group_name);
81         gboolean g_key_file_has_key(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
82         gchar* g_key_file_get_value(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
83         void g_key_file_set_value(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* value);
84         gchar* g_key_file_get_string(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
85         void g_key_file_set_string(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* string);
86         gchar* g_key_file_get_locale_string(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* locale, GError** error);
87         void g_key_file_set_locale_string(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* locale, const(gchar)* string);
88         gboolean g_key_file_get_boolean(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
89         void g_key_file_set_boolean(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gboolean value);
90         gint g_key_file_get_integer(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
91         void g_key_file_set_integer(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gint value);
92         gint64 g_key_file_get_int64(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
93         void g_key_file_set_int64(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gint64 value);
94         guint64 g_key_file_get_uint64(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
95         void g_key_file_set_uint64(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, guint64 value);
96         gdouble g_key_file_get_double(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
97         void g_key_file_set_double(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gdouble value);
98         gchar** g_key_file_get_string_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gsize* length, GError** error);
99         void g_key_file_set_string_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar*)* list, gsize length);
100         gchar** g_key_file_get_locale_string_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* locale, gsize* length, GError** error);
101         void g_key_file_set_locale_string_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* locale, const(gchar*)* list, gsize length);
102         gboolean* g_key_file_get_boolean_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gsize* length, GError** error);
103         void g_key_file_set_boolean_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gboolean* list, gsize length);
104         gint* g_key_file_get_integer_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gsize* length, GError** error);
105         void g_key_file_set_double_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gdouble* list, gsize length);
106         gdouble* g_key_file_get_double_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gsize* length, GError** error);
107         void g_key_file_set_integer_list(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gint* list, gsize length);
108         gboolean g_key_file_set_comment(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* comment, GError** error);
109         gchar* g_key_file_get_comment(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
110         gboolean g_key_file_remove_comment(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
111         gboolean g_key_file_remove_key(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);
112         gboolean g_key_file_remove_group(GKeyFile* key_file, const(gchar)* group_name, GError** error);
113     }
114 }
115 else
116 {
117     extern( C ) nothrow 
118     {
119         alias da_g_key_file_error_quark = GQuark function();																																		
120         alias da_g_key_file_new = GKeyFile* function();																																				
121         alias da_g_key_file_ref = GKeyFile* function(GKeyFile* key_file);																															
122         alias da_g_key_file_unref = void function(GKeyFile* key_file);																																
123         alias da_g_key_file_free = void function(GKeyFile* key_file);																																
124         alias da_g_key_file_set_list_separator = void function(GKeyFile* key_file, gchar separator);																								
125         alias da_g_key_file_load_from_file = gboolean function(GKeyFile* key_file, const(gchar)* file, GKeyFileFlags flags, GError** error);														
126         alias da_g_key_file_load_from_data = gboolean function(GKeyFile* key_file, const(gchar)* data, gsize length, GKeyFileFlags flags, GError** error);											
127         alias da_g_key_file_load_from_dirs = gboolean function(GKeyFile* key_file, const(gchar)* file, const(gchar*)* search_dirs, gchar** full_path, GKeyFileFlags flags, GError** error);			
128         alias da_g_key_file_load_from_data_dirs = gboolean function(GKeyFile* key_file, const(gchar)* file, gchar** full_path, GKeyFileFlags flags, GError** error);								
129         alias da_g_key_file_to_data = gchar* function(GKeyFile* key_file, gsize* length, GError** error);																							
130         alias da_g_key_file_get_start_group = gchar* function(GKeyFile* key_file);																													
131         alias da_g_key_file_get_groups = gchar** function(GKeyFile* key_file, gsize* length);																										
132         alias da_g_key_file_get_keys = gchar** function(GKeyFile* key_file, const(gchar)* group_name, gsize* length, GError** error);																
133         alias da_g_key_file_has_group = gboolean function(GKeyFile* key_file, const(gchar)* group_name);																							
134         alias da_g_key_file_has_key = gboolean function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);															
135         alias da_g_key_file_get_value = gchar* function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);															
136         alias da_g_key_file_set_value = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* value);														
137         alias da_g_key_file_get_string = gchar* function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);															
138         alias da_g_key_file_set_string = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* string);														
139         alias da_g_key_file_get_locale_string = gchar* function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* locale, GError** error);								
140         alias da_g_key_file_set_locale_string = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* locale, const(gchar)* string);							
141         alias da_g_key_file_get_boolean = gboolean function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);														
142         alias da_g_key_file_set_boolean = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gboolean value);															
143         alias da_g_key_file_get_integer = gint function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);															
144         alias da_g_key_file_set_integer = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gint value);																
145         alias da_g_key_file_get_int64 = gint64 function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);															
146         alias da_g_key_file_set_int64 = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gint64 value);																
147         alias da_g_key_file_get_uint64 = guint64 function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);															
148         alias da_g_key_file_set_uint64 = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, guint64 value);																
149         alias da_g_key_file_get_double = gdouble function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);															
150         alias da_g_key_file_set_double = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gdouble value);																
151         alias da_g_key_file_get_string_list = gchar** function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gsize* length, GError** error);										
152         alias da_g_key_file_set_string_list = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar*)* list, gsize length);									
153         alias da_g_key_file_get_locale_string_list = gchar** function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* locale, gsize* length, GError** error);		
154         alias da_g_key_file_set_locale_string_list = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* locale, const(gchar*)* list, gsize length);		
155         alias da_g_key_file_get_boolean_list = gboolean* function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gsize* length, GError** error);									
156         alias da_g_key_file_set_boolean_list = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gboolean* list, gsize length);										
157         alias da_g_key_file_get_integer_list = gint* function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gsize* length, GError** error);										
158         alias da_g_key_file_set_double_list = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gdouble* list, gsize length);											
159         alias da_g_key_file_get_double_list = gdouble* function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gsize* length, GError** error);									
160         alias da_g_key_file_set_integer_list = void function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, gint* list, gsize length);											
161         alias da_g_key_file_set_comment = gboolean function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, const(gchar)* comment, GError** error);								
162         alias da_g_key_file_get_comment = gchar* function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);															
163         alias da_g_key_file_remove_comment = gboolean function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);													
164         alias da_g_key_file_remove_key = gboolean function(GKeyFile* key_file, const(gchar)* group_name, const(gchar)* key, GError** error);														
165         alias da_g_key_file_remove_group = gboolean function(GKeyFile* key_file, const(gchar)* group_name, GError** error);																			
166     }
167 
168     __gshared
169     {
170 	    da_g_key_file_error_quark g_key_file_error_quark; 
171         da_g_key_file_new g_key_file_new; 
172         da_g_key_file_ref g_key_file_ref; 
173         da_g_key_file_unref g_key_file_unref; 
174         da_g_key_file_free g_key_file_free; 
175         da_g_key_file_set_list_separator g_key_file_set_list_separator; 
176         da_g_key_file_load_from_file g_key_file_load_from_file; 
177         da_g_key_file_load_from_data g_key_file_load_from_data; 
178         da_g_key_file_load_from_dirs g_key_file_load_from_dirs; 
179         da_g_key_file_load_from_data_dirs g_key_file_load_from_data_dirs; 
180         da_g_key_file_to_data g_key_file_to_data; 
181         da_g_key_file_get_start_group g_key_file_get_start_group; 
182         da_g_key_file_get_groups g_key_file_get_groups; 
183         da_g_key_file_get_keys g_key_file_get_keys; 
184         da_g_key_file_has_group g_key_file_has_group; 
185         da_g_key_file_has_key g_key_file_has_key; 
186         da_g_key_file_get_value g_key_file_get_value; 
187         da_g_key_file_set_value g_key_file_set_value; 
188         da_g_key_file_get_string g_key_file_get_string; 
189         da_g_key_file_set_string g_key_file_set_string; 
190         da_g_key_file_get_locale_string g_key_file_get_locale_string; 
191         da_g_key_file_set_locale_string g_key_file_set_locale_string; 
192         da_g_key_file_get_boolean g_key_file_get_boolean; 
193         da_g_key_file_set_boolean g_key_file_set_boolean; 
194         da_g_key_file_get_integer g_key_file_get_integer; 
195         da_g_key_file_set_integer g_key_file_set_integer; 
196         da_g_key_file_get_int64 g_key_file_get_int64; 
197         da_g_key_file_set_int64 g_key_file_set_int64; 
198         da_g_key_file_get_uint64 g_key_file_get_uint64; 
199         da_g_key_file_set_uint64 g_key_file_set_uint64; 
200         da_g_key_file_get_double g_key_file_get_double; 
201         da_g_key_file_set_double g_key_file_set_double; 
202         da_g_key_file_get_string_list g_key_file_get_string_list; 
203         da_g_key_file_set_string_list g_key_file_set_string_list; 
204         da_g_key_file_get_locale_string_list g_key_file_get_locale_string_list; 
205         da_g_key_file_set_locale_string_list g_key_file_set_locale_string_list; 
206         da_g_key_file_get_boolean_list g_key_file_get_boolean_list; 
207         da_g_key_file_set_boolean_list g_key_file_set_boolean_list; 
208         da_g_key_file_get_integer_list g_key_file_get_integer_list; 
209         da_g_key_file_set_double_list g_key_file_set_double_list; 
210         da_g_key_file_get_double_list g_key_file_get_double_list; 
211         da_g_key_file_set_integer_list g_key_file_set_integer_list; 
212         da_g_key_file_set_comment g_key_file_set_comment; 
213         da_g_key_file_get_comment g_key_file_get_comment; 
214         da_g_key_file_remove_comment g_key_file_remove_comment; 
215         da_g_key_file_remove_key g_key_file_remove_key; 
216         da_g_key_file_remove_group g_key_file_remove_group; 
217     }
218 }